package cn.itcast.com.homework.day720;
/*
base static
sub static
base构造代码块
base构造函数
sub构造代码块
sub构造函数
静态代码块随着类的加载而执行，所以静态代码块先执行，又Base是sub的父类，所以第一句是
base static，第二句是sub static，构造代码块在每次初始化对象的时候执行，且构造方法
永远是最后执行的，同时父类初始化在子类之前，所以依次是base构造代码块，base构造函数
sub构造代码块，sub构造函数
 */
public class test3 {
    public static void main(String[] args) {
        sub sub = new sub();
    }
}
class sub extends Base{

    static{
        System.out.println("sub static");
    }
    {
        System.out.println("sub构造代码块");
    }

    public sub(){
        System.out.println("sub构造函数");
    }
}
class Base{
    static {
        System.out.println("base static");
    }
    {
        System.out.println("base构造代码块");
    }

    public Base(){
        System.out.println("base构造函数");
    }
}

